%latex proposal.tex
%yap proposal.dvi
%pdflatex proposal.tex

\documentclass[12pt]{article}
\usepackage{a4wide}

\newcommand{\al}{$<$}
\newcommand{\ar}{$>$}

\parindent 0pt
\parskip 6pt

\begin{document}

\thispagestyle{empty}

\rightline{\large\emph{Matthew Thomson}}
\medskip
\rightline{\large\emph{Gonville and Caius College}}
\medskip
\rightline{\large\emph{mt521}}

\vfil

\centerline{\large Part II Project Proposal}
\vspace{0.4in}
\centerline{\Large\bf Dolphin: Networking using Sound}
\vspace{0.3in}
\centerline{\large 06/09/2012}

\vfil

{\bf Project Originator:} Matthew Thomson

\vspace{0.1in}

{\bf Resources Required:} See attached Project Resource Form

\vspace{0.5in}

{\bf Project Supervisor:} Oliver R. A. Chick

\vspace{0.2in}

{\bf Signature:}

\vspace{0.5in}

{\bf Director of Studies:}  Graham Titmus and Peter Robinson

\vspace{0.2in}

{\bf Signature:}

\vspace{0.5in}

{\bf Overseers:} Peter Robinson and Robert Watson

\vspace{0.2in}

{\bf Signatures:}

\vfil
\newpage


\section*{Introduction and Description of the Work}
\al\emph{OLLIE: not sure where Peter's idea about the ISO model will fit in, here or the
``Substance and Structure'' section\ldots}\ar

This project involves the creation of a system which will allow a user to encode
an image as a sound file, and correspondingly decode a sound file to retrieve
the image file. It will also be possible to multiplex the information, combining
multiple sound files into one or altering the sound file to include another
image. Given one sound will store multiple images, it will also be able to
convert the images received into one animated image with multiple frames.

Encoding a single frame as a series of sound waves has been possible for over
fifty years. Slow-scan television, hereafter referred to as ``SSTV'', is a
method mainly employed by amateur radio enthusiasts as it operates on voice (audible)
frequencies. It was also used in early space exploration, such as in the 1959
Russian ``Luna 3'' mission to transmit images of the far side of the moon back
to Earth, as the sounds can be sent using the same radio signals the astronauts
used to keep in contact with Mission Command meaning a separate, dedicated
transmission system is not needed. It is not, however, possible to multiplex
images in a sound with SSTV. Furthermore, as this style is predominantly
used by amateur radio enthusiasts the default behaviour of most software is to
transmit a sound whilst the original image is being scanned, rather than give
the option to save to disk for alternative transfer methods such as email or
portable physical storage, which is a feature that would open the technique to
areas beyond amateur radio.

A largely undeveloped area of this technology is incorporating security
techniques such as encryption in the conversion software, which would again make
the technique more appealing to users other than amateur radio enthusiasts, such
as companies needing to transfer corporate secrets, as images could be
transferred securely in a format the layman would not recognise.


\section*{Resources Required}

An independent SSTV decoder (software) should be used to verify the software I
create has compatibility with existing systems. ``MMSSTV'' is a free piece of
software that supports nine different standards of SSTV files, available at
({\tt http://hamsoft.ca/pages/mmsstv.php}). An Android mobile phone will be
required in an extension to the project, making the software available in a
mobile application.


\section*{Starting Point}

The 1B lecture course ``Computer Graphics and Image Processing'' by Peter Robinson
and Neil Dodgson contained information relevent to the image portion of this
project. Likewise, the ``Computer Networking'' course by Andrew Moore contained
theory on multiplexing information for transmission which will likely prove
useful in combining the sound files into one.  The ``Security I'' course by
Markus Kuhn provided information on encryption that will form the basis of the
security aspects of the software I create.


\section*{Substance and Structure of the Project}

The project would involve writing software to load and then interpret images
and sounds in a variety of formats. The analysis of images and sounds will lead
to conversion between the mediums and optimisation to condense as much of the
image into as short a sound as possible.

The feature to add further images will also be developed, allowing for multiple
images to share one sound file of similar length, increasing the data transfer
rate of the technology. In the event of multiple images being received it should
be able to be specified in the sound file whether or not the received images
should be interpreted as one animated image with multiple frames, and output
accordingly.

The software will offer the chance to encrypt the files sent using a password of
the user's choosing, and correspondingly prompt the user to enter a password if
an encrypted sound is loaded. It will then decode the sound based on the
password entered, and produce a scrambled image if the password was incorrect.

An extension to the project will be to make a mobile app that accomplishes most
of the same functionality so Java will be used as Android code is based on Java,
and requires very little adaption to work.

The project has the following main sections:

\begin{enumerate}

\item A study of the current techniques available to convert images to sound,
and vice versa, including how much bandwidth these techniques use with
multiplexing potential in mind.

\item A study of Java's capability to: analyse and create images and sound; and
create a graphical user-interface.

\item Developing and testing the code for the techniques investigated in (1)

\item Developing and testing the code for adding multiplexing and encryption
functionality to the techniques developed in (3).

\item Evaluation and the preparation of examples to demonstrate that the
implementation has been successful.

\item Writing the dissertation.

\end{enumerate}

If time allows the software will be ported to a mobile application in the
Android language. This will allow sounds to be received via the phone
connection, or simply loaded onto the phone's internal storage.


\section*{Reference}
\al\emph{need to add references from the introduction section}\ar
\begin{description}
\item {[1]} \emph{Reference Name}, J. Smith, Technical Report, University of
Uttoxeter, UK, UUTL-CRL-94-27.\\
({\tt http://some.web.site.edu/42.html})
\end{description}


\section*{Success Criteria}

The following should be achieved:

\begin{itemize}

\item Encode an image as a sound, using at least one existing SSTV standard

\item Encode multiple images as a single sound

\item Decode a sound into an image, allowing for both existing standards and any
new standards the software encodes in

\item Write the encoded sounds and decoded images to disk

\item Allow optional encryption on the output, and decrypt corresponding input

\end{itemize}

\section*{Timetable and Milestones}

Starting 19 October 2012

\subsection*{Research 1, 2 November 2012}

Study existing SSTV formats, what each pixel translates to, what each frequency
translates to. Revise theory on multiplexing signals in a single output.


\subsection*{Research 2, 16 November 2012}

Study Java image and audio manipulation. Study Java GUI capabilities.

Milestones: Create test code for encoding/decoding one SSTV format. Create
simple GUI with button and load images/sound functionality.


\subsection*{Development 1, 30 November 2012}

Create implementations of at least four other existing SSTV standards. Refine
GUI appearance and functionality to incorporate these.

Milestones: Backwards compatibility with existing SSTV works, tested with
MMSSTV.


\subsection*{Development 2, 14 December 2012}

Begin developing code for multiplexing, create new header in sound file with
space for number of images stored, boolean encrypted flag.

Milestones: New sound file header reliable decodes.


\subsection*{Development 3, 11 January 2013}

Finish multiplexing code, add security encryption functionality, add decrypt
prompts in GUI, refine code from previous sections.

Milestones: Program works, possibly with minor glitches.


\subsection*{Development 4, 25 January 2013}

Fix bugs. Start extension, research how mobile processor differs from PC.


\subsection*{Development 5, 8 February 2013}

Complete extension, optimise code for more efficient running on mobile device

Milestones: Mobile app and PC software complete, test with MMSSTV, verify
functionality the same on each.


\subsection*{Evaluation 1, 22 February 2013}

\al\emph{Need to look up exactly what goes in the dissertation before
breaking it down}\ar

Milestone: asd

\subsection*{Evaluation 2, 8 March 2013}

asd

Milestone: asd

\subsection*{Evaluation 3, 22 March 2013}

Finish dissertation.

Milestone: Deliver draft dissertation to supervisor.

\subsection*{Complete, 19 April 2013}

Revise disseration and submit.

Milestone: Submitted dissertation..

\end{document}

